﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Auto.Tools.Standards
{
    public static class EnumCollection
    {
        #region 系统相关
        /// <summary>
        /// 日志等级
        /// </summary>
        public enum LogsLevel
        {
            /// <summary>
            /// Debug -调试级别
            /// </summary>
            [Description("Debug")]
            Debug = 0,

            /// <summary>
            /// Info -一般信息级别
            /// </summary>
            [Description("Info")]
            Info = 1,

            /// <summary>
            /// Warn -警告级别
            /// </summary>
            [Description("Warn")]
            Warn = 2,

            /// <summary>
            /// Error -一般错误级别
            /// </summary>
            [Description("Error")]
            Error = 3,

            /// <summary>
            /// Fatal -致命错误级别
            /// </summary>
            [Description("Fatal")]
            Fatal = 4
        }
        /// <summary>
        /// 日志模块需跟log4NetCore.xml配置一致
        /// </summary>
        public enum LogsModule
        {
            /// <summary>
            /// 一般日志模块
            /// </summary>
            [Description("一般日志模块")]
            InfoLogs = 0,

            /// <summary>
            /// 错误日志模块
            /// </summary>
            [Description("错误日志模块")]
            ErrorLogs = 1,

            /// <summary>
            ///调试日志模块
            /// </summary>
            [Description("调试日志模块")]
            DebugLogs = 2,

            /// <summary>
            /// 账号模块日志
            /// </summary>
            [Description("账号模块日志")]
            LoginLogs = 11,

            /// <summary>
            /// 业务模块日志
            /// </summary>
            [Description("业务模块日志")]
            Business = 21,

            /// <summary>
            /// 财务模块日志
            /// </summary>
            [Description("财务模块日志")]
            Finance = 31,

        }
        #endregion

        #region 地址相关
        /// <summary>
        /// AreaLevel与同名字段一致，值与LevelType字段一致
        /// </summary>
        public enum AreaLevel
        {
            /// <summary>
            /// 国家
            /// </summary>
            Country = 0,
            /// <summary>
            /// 省/自治区/直辖市
            /// </summary>
            Province = 1,
            /// <summary>
            /// 市
            /// </summary>
            City = 2,
            /// <summary>
            /// 县/区
            /// </summary>
            District = 3,
            /// <summary>
            /// 街道
            /// </summary>
            Street = 4

        }

        #endregion

        /// <summary>
        /// 服务返回Code
        /// </summary>
        public enum ResultCode
        {
            /// <summary>
            /// 操作失败
            /// </summary>
            [Display(Name = "操作失败"), Description("操作失败")]
            Failed = 0,
            /// <summary>
            /// 操作成功
            /// </summary>
            [Display(Name = "操作成功"), Description("操作成功")]
            Successful = 1,
            /// <summary>
            /// 系统异常
            /// </summary>
            [Display(Name = "系统异常"), Description("系统异常")]
            Exception = 2,
            /// <summary>
            /// 参数丢失
            /// </summary>
            [Display(Name = "参数丢失"), Description("参数丢失")]
            ArgumentsLost = 3,
            /// <summary>
            /// ModelStateInValid
            /// </summary>
            [Display(Name = "ModelStateInValid"), Description("ModelStateInValid")]
            ModelStateInValid = 4,
            /// <summary>
            /// 未知错误
            /// </summary>
            [Display(Name = "未知错误"), Description("未知错误")]
            Unknown = 99
        }
    }
}
